1. Field of the Invention
This invention relates to backup configuration data and more particularly relates to providing a backup configuration image to a programmable hardware device.
2. Description of the Related Art
Programmable hardware devices, electronic devices that are programmable to implement a digital circuit, are becoming increasingly popular in a variety of applications. Programmable hardware devices can be programmed to implement any logical function that an Application-Specific Integrated Circuit (ASIC) can perform, with the added benefit of being reconfigurable. The programmable, reconfigurable nature of the devices allows manufacturers and distributors to update circuit designs and functionality after manufacture and even in the field. The shorter time to market that this provides, the ability to reprogram in the field, and lower engineering costs have helped to increase the demand for programmable hardware devices.
The performance gap between programmable hardware devices and ASICs has also narrowed in recent years. At the same time, the cost of integrated circuits is rising. The increased complexity of circuit designs has also increased the development time and costs associated with ASIC development. These factors have also increased the popularity of programmable hardware devices.
Although the ability to be programmed in the field is a desirable attribute of programmable hardware devices, it can also be a liability. If a configuration image is improperly or incompletely loaded, due to a power failure or another interruption, the programmable hardware device may not function correctly or at all. If the programmable hardware device is used as a system controller, or in another system-critical application, the failure of the programmable hardware device can cause system-wide failure.
Connecting additional hardware to ports connected to the programmable hardware device to combat such failure can cause signal loading, and further corruption of configuration images. Adding additional controllers or other components to the design of the programmable hardware device itself to prevent such failure can be complicated and has a negative impact on the performance of the programmable hardware device.